field.setName(newName);
final PsiMethod newGetter = GroovyPropertyUtils.findGetterForField(field);
for (PsiReference ref : getterRefs) {
rename(ref, newGetterName, manager, newGetter);
}
final PsiMethod newSetter = GroovyPropertyUtils.findSetterForField(field);
final PsiManager manager = field.getManager();
List<PsiReference> getterRefs = new ArrayList<PsiReference>();
List<PsiReference> setterRefs = new ArrayList<PsiReference>();
List<PsiReference> fieldRefs = new ArrayList<PsiReference>();
for (UsageInfo usage : usages) {
final PsiElement element = usage.getElement();
if (element == null) continue;
PsiReference ref = element.getReference();
if (ref == null) continue;
PsiElement resolved = ref.resolve();
if (manager.areElementsEquivalent(resolved, getter)) {
if (isPropertyAccess(element)) {
fieldRefs.add(ref);
}
else {
getterRefs.add(ref);
}
}
else if (manager.areElementsEquivalent(resolved, setter)) {
if (isPropertyAccess(element)) {
fieldRefs.add(ref);
}
else {
setterRefs.add(ref);
}
}
else if (manager.areElementsEquivalent(resolved, field)) {
fieldRefs.add(ref);
}
else {
ref.handleElementRename(newName);
}
}
field.setName(newName);
final PsiMethod newGetter = GroovyPropertyUtils.findGetterForField(field);
doRename(newGetterName, manager, getterRefs, newGetter);
final PsiMethod newSetter = GroovyPropertyUtils.findSetterForField(field);
doRename(newSetterName, manager, setterRefs, newSetter);